草庐IT

Python OrderedDict 不保持元素顺序

全部标签

ruby - 如何忽略大小写按字母顺序排列数组?

我正在使用ChrisPine的《学习编程》,但我被他相对简单的挑战难倒了,即以随机单词列表的形式获取用户输入,然后将它们按字母顺序排列在数组中。关于这个挑战的问题之前已经出现过,但我无法在SO上找到我的具体问题,所以如果它是重复的,我很抱歉。puts"Here'safuntrick.Typeasmanywordsasyouwant(oneperline)andI'llsortthemin...ALPHABETICALORDER!Holdontoyourhats!"wordlist=Array.newwhile(userInput=gets.chomp)!=''wordlist.push

ruby - 如何在 Ruby 中删除数组中满足条件的所有元素?

我如何在Ruby中实现它?有没有一行代码技术?假设我想去掉整数数组中小于3的所有元素。 最佳答案 您可以使用new_array=array.reject{|x|x(reject返回一个新数组)或array.reject!{|x|x(reject!又名delete_if就地修改数组)。还有(更常见的)select方法,其作用类似于reject除了您指定保留元素的条件,而不是拒绝它们(即要摆脱小于3的元素,您将使用new_array=array.select{|x|x>=3})。 关于rub

arrays - 如何向数组添加多个元素?

我可以轻松地向现有数组添加一个元素:arr=[1]arr[1,2]如何向我的数组添加多个元素?我想做类似arr的事情,但这会向我的数组添加一个数组#=>[1,[2,3]] 最佳答案 使用+=运算符:arr=[1]arr+=[2,3]arr#=>[1,2,3] 关于arrays-如何向数组添加多个元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/20686099/

ruby - 遍历数组的前 n 个元素

如何迭代一个数组的最多四个对象而不是全部?在下面的代码中,它遍历所有对象。我只需要前四个对象。objects=Products.all();arr=Array.newobjects.eachdo|obj|arr是否可以像objects=objects.slice(4)那样完成,还是迭代是唯一的方法?编辑:我还需要打印迭代发生了多少次,但我的解决方案objects[0..3](感谢这里的答案)很长。i=0;arr=Array.newobjects[0..3].eachdo|obj|arr 最佳答案 你可以通过使用获取前n个元素arr=

ruby - 比较两个数组忽略Ruby中的元素顺序

我需要检查两个数组是否以任何顺序包含相同的数据。使用虚构的compare方法,我想做的是:arr1=[1,2,3,5,4]arr2=[3,4,2,1,5]arr3=[3,4,2,1,5,5]arr1.compare(arr2)#truearr1.compare(arr3)#false我使用了arr1.sort==arr2.sort,这似乎有效,但是有更好的方法吗? 最佳答案 最简单的方法是使用交叉点:@array1=[1,2,3,4,5]@array2=[2,3,4,5,1]所以声明@array2&@array1==@array2将

ruby-on-rails - 如何使用 postgresql 在 Rails 中执行不区分大小写的顺序

我正在将我的开发环境从sqlite3切换到postgresql8.4,还有最后一个障碍。在我原来的帮助方法中有以下行;result=Users.find(:all,:order=>"namecollateNOCASE")它提供了一个非常好的不区分大小写的搜索。我不能为postgresql复制这个。应该很简单-有什么想法吗?谢谢。 最佳答案 result=Users.find(:all,:order=>"LOWER(name)")向Brad和Frank学习一点。 关于ruby-on-rai

ruby - 具有条件的数组的第一个元素

有没有比这更短的方法来找到满足某些条件的数组中的第一个元素:my_array[my_array.index{|x|x.some_test}] 最佳答案 试试这个:my_array.find{|x|x.some_test}或者这里有一个捷径(感谢@LarsHaugseth的提醒)my_array.find(&:some_test) 关于ruby-具有条件的数组的第一个元素,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby - 如何按字母顺序对字符串的字符进行排序?

对于Array,有一个漂亮的sort方法来重新排列元素的顺序。我想为字符串实现相同的结果。例如,我有一个字符串str="String",我想用一种简单的方法将它按字母顺序排序为"ginrSt"。是否有一种本地方法可以启用此功能,或者我应该包含来自Enumerable的mixin? 最佳答案 charsmethod返回字符串字符的枚举。str.chars.sort.join#=>"Sginrt"不区分大小写排序:str.chars.sort(&:casecmp).join#=>"ginrSt"

ruby-on-rails - 将 ruby​​ 数组的元素划分为精确数量的(几乎)大小相等的子数组

这个问题在这里已经有了答案:HowtochunkanarrayinRuby(2个答案)关闭4年前。我需要一种方法来将数组拆分为精确数量且大小大致相等的较小数组。谁有办法做到这一点?例如a=[1,2,3,4,5,6,7,8,9,10,11,12,13]groups=a.method_i_need(3)groups.inspect=>[[1,2,3,4,5],[6,7,8,9],[10,11,12,13]]Notethatthisisanentirelyseparateproblemfromdividinganarrayintochunks,becausea.each_slice(3).t

ruby - 查找与给定条件匹配的元素的索引

给定一个数组,如何找到符合给定条件的元素的所有索引?例如,如果我有:arr=['x','o','x','.','.','o','x']要找到项目为x的所有索引,我可以这样做:arr.each_with_index.map{|a,i|a=='x'?i:nil}.compact#=>[0,2,6]或(0..arr.size-1).select{|i|arr[i]=='x'}#=>[0,2,6]有没有更好的方法来实现这一目标? 最佳答案 ruby1.9:arr=['x','o','x','.','.','o','x']parr.each_